
import store from '@/store'

// import { TOKEN_KEY, USER_INFO_KEY, BUTTON_PERMISSION_KEY, ROUTER_PERMISSION_KEY } from '@/constant/common'

/**
 * 因为现在把getInfo去掉，导致页面刷新的时候不会重新取用户信息（这些信息只在登陆的时候取一次）
 * 为防止刷新页面用户信息丢失，将这些信息存在浏览器缓存里,
 * 此处将sessionStorage 换成localStorage 是因为去掉getMenu之后，用浏览器的两个tab页打开系统，可以让他们都能获得到存在localStorage的路由数据
 */

const ButtonKey = 'buttonPermission'
const RouterKey = 'routerPermission'

export function getButtonPermissions() {
  return window.localStorage.getItem(ButtonKey)
}

export function setButtonPermissions(buttonPermission) {
  window.localStorage.setItem(ButtonKey, buttonPermission)
}

export function removeButtonPermissions() {
  window.localStorage.removeItem(ButtonKey)
}

export function getRouterPermissions() {
  return window.localStorage.getItem(RouterKey)
}

export function setRouterPermissions(routerPermission) {
  window.localStorage.setItem(RouterKey, routerPermission)
}

export function removeRouterPermissions() {
  window.localStorage.removeItem(RouterKey)
}

/**
 * 验证是否有按钮权限
 * @param value 权限编码
 * @returns {*}
 */
export function checkButtonPermission(value) {
  // 权限列表为空直接返回false
  const buttonPermissionArray = store.getters.buttonPermission
  if (!buttonPermissionArray || buttonPermissionArray.length === 0) {
    return false
  }
  // 权限判断
  if (value) {
    // 判断是单字符串还是数组
    if (!Array.isArray(value)) {
      return buttonPermissionArray.includes(value)
    } else {
      for (let i = 0; i < value.length; i++) {
        if (buttonPermissionArray.includes(value[i])) {
          return true
        }
      }
    }
  }
  return false
}

